package cn.com.huzo.repository.financial;

import cn.com.huzo.model.entities.financial.AccoutingPeriodEntity;
import huzofw.repository.GenericRepository;
import java.util.List;
import java.util.Map;

/**
 * 会计期数据访问对象接口。
 *
 * @author 吴旭
 */
public interface AccoutingPeriodRepository extends GenericRepository<AccoutingPeriodEntity, String> {

    /**
     * 返回全部会计期年度数据列表。
     *
     * @return 会计期年度数据
     */
    List<String> fetchAllApYear();

    /**
     * 取得最后一个会计年度
     *
     * @return
     */
    String fetchLastApYear();

    /**
     * 返回该年度的各个月份期间。
     *
     * @param apYear 给定的会计期年度
     * @return 各个月份期间
     */
    List<AccoutingPeriodEntity> fetchByApYear(String apYear);

    /**
     * 根据给定的条件创建会计期。
     *
     * @param itemList 会计期数据
     * @return
     */
    Integer bulk_insert(List<Map<String, Object>> itemList);
}
